High-speed transfer of data has been a subject of much concern recently with the vast increase in the number of computers being used by businesses and individuals. New types of data storage and retrieval devices having higher capacities and data transfer rates are being developed which frequently cannot be efficiently or economically handled by current data transfer systems.
One type of storage device that is becoming more prevalent stores graphic or pictorial images in bit-mapped form. These devices frequently store data in photographic form, such as microfilm or microfiche, which is then scanned by an optical device such as a scanning CCD to generate digital data representing the image. Such devices are capable of storing enormous amounts of information. One typical device of this type is a Microfiche Storage and Retrieval Carousel manufactured by the TERA Corporation. This device can retrieve a page stored in microfiche form and transmit the page as 480 kBytes of data in the form of a bit mapped image of the page. It can store and retrieve the equivalent of 284,000 pages of information, which is the equivalent of about 136,320 megabytes of information.
Interfacing with such devices poses some unusual requirements. Typically, these devices retrieve data in increments of a full page, and thus require that large blocks of data be quickly transferred at one time. In response to a request for data, such a device must mechanically locate and position the image. This takes a significant amount of time ranging from fractions of a second to several seconds.
Furthermore, because of the cost of these types of data storage devices and other considerations, such systems are frequently found in multi-user systems where a plurality of small computers are connected to a central, large computer which provides file and data storage and retrieval services for each user. Because of the practical constraints of such systems, conventional methods of interfacing between the individual personal computers and the optical storage devices do not work well.
Referring to FIG. 1, a typical multi-user system is shown in which a number of small computers 12 serve as terminals or workstations to a much larger computer 14, which is typically a minicomputer or mainframe. Computer 14 usually has a hard disk or other type of device 16 for storing and retrieving large amounts of data to support the multiple workstation computers (WC's). The normal way to interface with a mass storage device (MSD) 30 such as described above is to attach it to the central computer 14 through an appropriate interface 20. The central computer 14 may require a special I/O processor 18 to accomodate the needs of the MSD 30.
Frequently a system configured as shown in FIG. 1 suffers from poor performance when providing data retrieval from an MSD such as described above. In order to accomodate the needs of multiple users, the central computer must constantly switch between the different users, allocating to each user a small block of time. In large systems with many users, the duration of this is on the order of milliseconds. Even with very high data transfer rates, many blocks of time may be required to transfer the data for a single image. Because of the computational overhead required when switching between users, these transfers frequently become very inefficient. This is especially true with interrupt-driven systems.
As a result the effective bandwidth, or tranfer rate of data from the MSD's to the WC's, is much lower than the actual data transfer rate which the system normally can attain. When multiple data channels to the MSD are required to support many simultaneous accesses by multiple users, this problem becomes worse. Additionally, the burden on the central computer imposed by many transfers of large amounts of data may degrade the system performance for all users, whether or not they are trying to access the MSD. Thus, a system for efficiently and economically interfacing a plurality of personal computers to one or more MSD's would be beneficial.